﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MakeIT.MakeIT.Laundy.Agromotor.Site.Negocios;
using MakeIT.MakeIT.Laundy.Agromotor.Site.Entidades;
using System.Globalization;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, int> categorias = new Dictionary<string, int>();

            string[] lines = System.IO.File.ReadAllLines(@"C:\Makeit\Projetos\Laundy\Agromotor\Site\Documentos\Estoque Agromotor Ago2011 REVISÃO FINAL OUT.csv", Encoding.GetEncoding(new CultureInfo("pt-BR").TextInfo.ANSICodePage));

            //cadastrar categorias
            for (int index = 1; index < lines.Length; index++)
            {
                string[] registro = lines[index].Split('|');
                if (registro.Length == 8)
                {
                    if (!string.IsNullOrEmpty(registro[1])){
                        string categoria = registro[1].Replace("¨","").Replace(";","").Trim();
                        System.Console.WriteLine(index + "-" + categoria);
                        if (!categorias.ContainsKey(categoria))
                        {
                            CategoriaVO cVO = CategoriaVO.CreateVO();
                            cVO.categoria = categoria;
                            cVO.chaves="|"+registro[2].Replace("¨","").Trim().Replace(";","|");
                            if (!cVO.chaves.EndsWith("|"))
                                cVO.chaves+="|";
                            cVO.chaves = cVO.chaves.Replace(" |", "|").Replace("| ", "|");
                            cVO.cadastro=DateTime.Now;
                            cVO.edicao=DateTime.Now;
                            cVO.cadastradoPor="Auto";
                            cVO.editadoPor="Auto";

                            cVO.idCategoria = (int) AgromotorsiteDAO.newCategoria(cVO);
                            categorias.Add(cVO.categoria, cVO.idCategoria);
                        }
                    }
                }
            }

            //cadastrar pecas
            PecaVO pVO = PecaVO.CreateVO();

            for (int index = 1; index < lines.Length; index++)
            {
                System.Console.WriteLine(index + "/" + lines.Length);
                string[] registro = lines[index].Split('|');
                if (registro.Length == 8)
                {
                    int? idCategoria = null;
                    if (!string.IsNullOrEmpty(registro[1]))
                    {
                        string categoria = registro[1].Replace("¨", "").Replace(";", "").Trim();
                        if (categorias.ContainsKey(categoria))
                        {
                            idCategoria = categorias[categoria];
                        }
                    }


                    pVO.banner = false;
                    pVO.codigo = registro[3].Replace("¨", "").Trim();
                    pVO.idCategoria = idCategoria;
                    pVO.loja = true;
                    pVO.orcamento = true;
                    pVO.peca = registro[4].Replace("¨", "").Trim();
                    pVO.cadastro = DateTime.Now;
                    pVO.edicao = DateTime.Now;
                    pVO.cadastradoPor = "Auto";
                    pVO.editadoPor = "Auto";
                    AgromotorsiteDAO.newPeca(pVO);
                }
            }


        }
    }
}
